﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using SharpKit.JavaScript;

namespace SharpKit.Onx
{
    /// <summary>
    /// The Feeds API provides access to the various external feeds.
    /// </summary>
    [JsType(Mode = JsMode.Prototype, Export = false)]
    public class Feeds
    {
        //No way to new this up
        private Feeds()
        { }


        /// <summary>
        /// 
        /// </summary>
        [JsProperty(Name = "horoscope")]
        public HoroscopeFeed Horoscope { get { return null; } }

        /// <summary>
        /// 
        /// </summary>
        [JsProperty(Name = "news")]
        public NewsFeed News { get { return null; } }

        /// <summary>
        /// 
        /// </summary>
        [JsProperty(Name = "traffic")]
        public TrafficFeed Traffic { get { return null; } }

        /// <summary>
        ///
        /// </summary>
        [JsProperty(Name = "weather")]
        public WeatherFeed Weather { get { return null; } }
    }

    /// <summary>
    /// 
    /// </summary>
    [JsType(Mode = JsMode.Prototype, Export = false)]
    public abstract class Feed
    { }

    /// <summary>
    /// 
    /// </summary>
    [JsType(Mode = JsMode.Prototype, Export = false)]
    public class HoroscopeFeed : Feed
    {
        //No way to new this up
        private HoroscopeFeed()
        { }
    }

    /// <summary>
    /// 
    /// </summary>
    [JsType(Mode = JsMode.Prototype, Export = false)]
    public class NewsFeed : Feed
    {
        //No way to new this up
        private NewsFeed()
        { }
    }

    /// <summary>
    /// 
    /// </summary>
    [JsType(Mode = JsMode.Prototype, Export = false)]
    public class TrafficFeed : Feed
    {
        //No way to new this up
        private TrafficFeed()
        { }
    }

    /// <summary>
    /// 
    /// </summary>
    [JsType(Mode = JsMode.Prototype, Export = false)]
    public class WeatherFeed : Feed
    {
        //No way to new this up
        private WeatherFeed()
        { }
    }
}